<?php

/**
 * 创建返回值数组
 * @param array $data 数据
 * @param string $message 消息
 * @param bool $success 是否成功
 * @return array ['code','message','data']
 */
function create_response_data(string $message, bool $success = true, array $data = []): array
{
    $code = $success ? 200 : 500;
    return [
        'code' => $code,
        'message' => $message,
        'data' => $data,
    ];
}

/**
 * 密码加密
 * @param string $password 密码
 * @return string 加密后的密码
 */
function password_md5(string $password): string
{
    $password = 'pcs' . $password;
    return md5($password);
}

/**
 * 创建uuid方法
 * @return string
 * @throws \Random\RandomException
 */
function create_uuid(): string
{
    return uniqid(bin2hex(random_bytes(10)), true);
}


/**
 * 格式化金额数据
 * @param float|string $amount 金额
 * @param int $precision 保留小数位
 * @param string $thousand_separator 千位分隔符
 * @param string $decimal_separator 小数点
 * @return string 205,646.22
 */
function format_money($amount, int $precision = 2, string $thousand_separator = ',', string $decimal_separator = '.'): string
{
    $amount = (float)$amount;
    // 使用number_format()函数格式化金额
    // 参数：金额，小数点后保留的位数，小数点，千分位分隔符
    // 返回格式化后的金额字符串
    return number_format($amount, $precision, $decimal_separator, $thousand_separator);
}
